草庐IT

c++ - 为 boost::program_options 设置精度

全部标签

c - 如何在没有定义 main() 的情况下让 cgo 构建目标文件?

我有一个完全用C编写的项目。我只需要调用一个必须用GO编写的函数。因此,我使用cgo构建C文件,然后我想使用生成的目标文件与我的主C项目链接。假设我有一个文件foo.go和一个函数funcHelloWorld()。我希望从我的C代码中执行此函数。所以我做了以下步骤#gotoolcgofoo.go#cd_obj&&gcc-c*.o现在我有两个文件:#_cgo_export.o_cgo_main.o但是,main()以某种方式在那里定义,我无法将这些目标文件与我的主项目(多个主项目)链接。我如何让cgo不放入虚拟main?还是我这样做完全错了?编辑我需要入口点在C中。其他人发布的建议要求入

go - Windows XP SP3 上的 Accept() 超时设置

我在WindowsXPSP3上使用go1.9.2windows/386时遇到了严重问题。Accept()会永远阻塞,即使我使用SetDeadline()设置了超时,直到程序退出。我认为这很重要,因为我无法在需要时阻止听众。此外,conn.Read()也会永远阻塞,但我没有将它包含在示例中以使其更简单。packagemainimport("fmt""net""time")funcmain(){listener,err:=net.Listen("tcp",":8888")iferr!=nil{fmt.Println(err.Error())return}tcplistener:=liste

objective-c - cgo godefs 和 Objective-C

我通过CGoLang的包在GoLang上编写了一个包含Objective-C代码(调用一些OSXAPI)的程序,我需要从Go传递类型为T的变量代码到Objective-C代码,反之亦然。T是结构(或其他类型)。所以我需要在GoLang中创建兼容的(在内存布局方面)类型/变量,并通过unsafe.Pointer转换将其传递给Objective-C。对于通用C代码,我在这种情况下使用godefs,但我无法将godefs用于Objective-C。如果我尝试gotoolcgo-godefscgodefs.go//Thisis"cgodefs.go"filepackagetmp/*#cgoCF

go - 是否可以捕获由外部命令设置的环境变量?

我有一个脚本(在Windows上)可以设置许多环境变量。我想在Go中执行这个脚本来为后续调用二进制文件设置环境变量。像这样:cmd1:=exec.Command("setup_env.bat")cmd.Run()//other_command.exereliesonenvironmentvariables//setbysetup_env.batcmd2:=exec.Command("some_binary.exe")cmd2.Env=cmd1.Envcmd2.Run()但是这不起作用,因为cmd1.Env在调用cmd1.Run()后为空(在cmd1中设置的环境变量似乎不会传播到cmd1

c - 将 cgo 与 typedef 变量一起使用

由于现有的库和速度,我正在创建一个项目,该项目使用我用C编写的密码学。尝试与Cgo交互时,我在使用C中创建的typedef时遇到了一些问题。下面是一个示例:typedefunsignedcharec_scalar[32];我能够成功创建ec_point变量,并使用接受ec_point*的函数。但是,每当我尝试使用通过普通ec_point传递的函数时,我都会收到错误消息:cannotusepk2(typeC.ec_scalar)astype*C.ucharinargumentto_Cfunc_secret_to_public我似乎找不到可以轻松转换它的方法。我也不想重构我的代码来接受ec

go - Windows 10 golang 设置。错误,不在环境中

我第一次在Windows10机器上设置go时遇到问题。我按照安装说明进行操作。https://golang.org/doc/install?download=go1.10.windows-386.msi当我CD到我的项目E:\goProjects\goWebApp\src并运行gobuild时,我收到以下错误。C:\windows\system32>goversionNotinanenvironmentC:\Users\MyUser~1\AppData\Local\Temp\go_there.bat'isnotrecognizedasaninternalorexternalcomman

c - 将 C 翻译成 Golang。如何分配内存以匹配 C?

所以我正在翻译我在C中创建的程序。这个程序的目标是简单地从文件中读取矩阵,以稀疏行格式压缩矩阵,然后计算矩阵vector乘积。这是C语言的程序片段。//ReadtheMatrixMarketfileandinitializeaCSRformattedmatrix.csr_load_matrix(fileName,&compressedSparseMatrix);//Setthecorrectvaluestothestructandcreatethememoryallocation.double*x;double*y;x=malloc(compressedSparseMatrix.col

go - 如何通过读取设置文件在 Golang 中动态创建结构?

我想通过读取*.yaml文件和结构名称来创建结构,属性名称及其类型应在设置文件中设置。PERIOD:1yKEYSPACE:LanaTables:User:-UserIdUUID-GenderString-AgeInteger-LikesString-IncomeInteger-ChildrenInteger我知道我应该使用反射,对吗?:-). 最佳答案 你不能使用map[string]interface{}吗?funcLoad(filenamestring)(map[string]interface{},error){data,er

go - 使用代理设置 true false

我想为使用代理创建带有选项true/false的简单函数。这是我的实际代码:vartorProxystring="socks5://127.0.0.1:9050"funcgetPage(webUrlstring,useProxybool){torProxyUrl,err:=url.Parse(torProxy)iferr!=nil{log.Fatal("ErrorparsingTorproxyURL:",torProxy,".",err)}transport:=&http.Transport{DisableKeepAlives:true,}torTransport:=&http.Tra

go - 在 Go 上编译之前如何预检查和设置变量?

我将预先检查HCL内容并将其设置为golang中的变量。即HCL内容应在编译前解析并设置为特定变量。这是例子。.├──config.mel└──main.goconfig.mel具有以下HCL字符串。types{directory="string"listen="ipaddr"}main.go有以下几行:packagemainimport("github.com/hashicorp/hcl")funcmain(){hcl.Parse(HCL_CONTENTS)}有什么方法可以在编译前设置HCL_CONTENTS变量吗? 最佳答案 您